/**
 * 这个文件是用于创建vuex的核心部分store的js配置文件
 */
//引入vuex
import Vuex from 'vuex'
import Vue from 'vue'

//配置store的属性
//准备actions,用于响应组件中的动作
//action接受到数据后进行ajax操作,如果不需要进行ajax,则直接将数据传递给mutations
//两个参数分别是上下文和从组件那里获取的值
const actions = {
    plus(context,value){
        context.commit('PLUS',value);
    }
}

//准备mutations,用于操作数据(state)
//指定的mutations,获取了数据,开始修改state里面的存储数据
const mutations = {
    PLUS(state,value){
        state.num += value
    }
}


//准备state,用于存储数据
//state里面的数据更新,dom被vue重新渲染
const state = {
    num:10,
    myName:'山哥'
}

//应用Vuex
Vue.use(Vuex);
//创建并暴露store
export default new Vuex.Store({
    actions,
    mutations,
    state
})
